home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / NonlinearProcSpec.h < prev    next >
Text File  |  1995-01-08  |  4KB  |  93 lines

  1. /* NonlinearProcSpec.h */
  2.  
  3. #ifndef Included_NonlinearProcSpec_h
  4. #define Included_NonlinearProcSpec_h
  5.  
  6. /* NonlinearProcSpec module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Memory */
  12. /* LFOListSpecifier */
  13. /* Envelope */
  14.  
  15. struct NonlinProcSpecRec;
  16. typedef struct NonlinProcSpecRec NonlinProcSpecRec;
  17.  
  18. /* forwards */
  19. struct WaveTableObjectRec;
  20. struct AlgoWaveTableObjectRec;
  21.  
  22. typedef enum
  23.     {
  24.         eNLDataWaveTable EXECUTE(= -12874),
  25.         eNLAlgoWaveTable
  26.     } NLProcWaveType;
  27.  
  28. /* forwards */
  29. struct EnvelopeRec;
  30. struct LFOListSpecRec;
  31.  
  32. /* create a new nonlinear processor specifier */
  33. NonlinProcSpecRec*    NewNonlinProcSpecDataWave(struct WaveTableObjectRec* Wave);
  34.  
  35. /* create a new nonlinear processor specifier */
  36. NonlinProcSpecRec*    NewNonlinProcSpecAlgoWave(struct AlgoWaveTableObjectRec* Wave);
  37.  
  38. /* dispose of the nonlinear processor specifier */
  39. void                                DisposeNonlinProcSpec(NonlinProcSpecRec* NLProc);
  40.  
  41. /* set various attributes */
  42. void                                PutNLProcInputScaling(NonlinProcSpecRec* NLProc, float InputScaling);
  43. void                                PutNLProcInputAccent1(NonlinProcSpecRec* NLProc, float InputAccent1);
  44. void                                PutNLProcInputAccent2(NonlinProcSpecRec* NLProc, float InputAccent2);
  45. void                                PutNLProcInputAccent3(NonlinProcSpecRec* NLProc, float InputAccent3);
  46. void                                PutNLProcInputAccent4(NonlinProcSpecRec* NLProc, float InputAccent4);
  47. void                                PutNLProcOutputScaling(NonlinProcSpecRec* NLProc, float OutputScaling);
  48. void                                PutNLProcOutputAccent1(NonlinProcSpecRec* NLProc, float OutputAccent1);
  49. void                                PutNLProcOutputAccent2(NonlinProcSpecRec* NLProc, float OutputAccent2);
  50. void                                PutNLProcOutputAccent3(NonlinProcSpecRec* NLProc, float OutputAccent3);
  51. void                                PutNLProcOutputAccent4(NonlinProcSpecRec* NLProc, float OutputAccent4);
  52. void                                PutNLProcWaveTableIndex(NonlinProcSpecRec* NLProc, float WaveTableIndex);
  53. void                                PutNLProcIndexAccent1(NonlinProcSpecRec* NLProc, float IndexAccent1);
  54. void                                PutNLProcIndexAccent2(NonlinProcSpecRec* NLProc, float IndexAccent2);
  55. void                                PutNLProcIndexAccent3(NonlinProcSpecRec* NLProc, float IndexAccent3);
  56. void                                PutNLProcIndexAccent4(NonlinProcSpecRec* NLProc, float IndexAccent4);
  57.  
  58. /* retrieve various attributes */
  59. float                                GetNLProcInputScaling(NonlinProcSpecRec* NLProc);
  60. float                                GetNLProcInputAccent1(NonlinProcSpecRec* NLProc);
  61. float                                GetNLProcInputAccent2(NonlinProcSpecRec* NLProc);
  62. float                                GetNLProcInputAccent3(NonlinProcSpecRec* NLProc);
  63. float                                GetNLProcInputAccent4(NonlinProcSpecRec* NLProc);
  64. float                                GetNLProcOutputScaling(NonlinProcSpecRec* NLProc);
  65. float                                GetNLProcOutputAccent1(NonlinProcSpecRec* NLProc);
  66. float                                GetNLProcOutputAccent2(NonlinProcSpecRec* NLProc);
  67. float                                GetNLProcOutputAccent3(NonlinProcSpecRec* NLProc);
  68. float                                GetNLProcOutputAccent4(NonlinProcSpecRec* NLProc);
  69. float                                GetNLProcWaveTableIndex(NonlinProcSpecRec* NLProc);
  70. float                                GetNLProcIndexAccent1(NonlinProcSpecRec* NLProc);
  71. float                                GetNLProcIndexAccent2(NonlinProcSpecRec* NLProc);
  72. float                                GetNLProcIndexAccent3(NonlinProcSpecRec* NLProc);
  73. float                                GetNLProcIndexAccent4(NonlinProcSpecRec* NLProc);
  74.  
  75. /* get the wave type */
  76. NLProcWaveType            GetNLProcSpecWaveType(NonlinProcSpecRec* NLProc);
  77.  
  78. /* get the algorithmic wave table from the nl proc */
  79. struct AlgoWaveTableObjectRec*    GetNLProcSpecAlgoWaveTable(NonlinProcSpecRec* NLProc);
  80.  
  81. /* get the data wave table from the nl proc */
  82. struct WaveTableObjectRec*    GetNLProcSpecDataWaveTable(NonlinProcSpecRec* NLProc);
  83.  
  84. /* get enveloping things */
  85. struct EnvelopeRec*    GetNLProcInputEnvelope(NonlinProcSpecRec* NLProc);
  86. struct EnvelopeRec*    GetNLProcOutputEnvelope(NonlinProcSpecRec* NLProc);
  87. struct EnvelopeRec*    GetNLProcIndexEnvelope(NonlinProcSpecRec* NLProc);
  88. struct LFOListSpecRec*    GetNLProcInputLFO(NonlinProcSpecRec* NLProc);
  89. struct LFOListSpecRec*    GetNLProcOutputLFO(NonlinProcSpecRec* NLProc);
  90. struct LFOListSpecRec*    GetNLProcIndexLFO(NonlinProcSpecRec* NLProc);
  91.  
  92. #endif
  93.